1. Field of the Invention
The present invention relates to a technique for transferring information which is not urgent and prefetched or preloaded by a cache server, and in particular to a content transferring technique allowing the reduction of influence on other traffics at the same or transferring the content.
2. Description of the Related Art
In the case of transferring contents through a network, some contents require urgency, and while some not it. Contents prefetched by a cache server which is disposed on the network to shorten the access time to the contents by a terminal are a typical example of the contents having no requirement of urgency.
As shown in FIG. 11, it is assumed for simplicity that a network system is composed of Web servers S100, S101, cache servers C100, C101, terminals T1, T2, and routers R1–R7 which are connected by links L1–L8.
When a terminal (for example, T1) obtains content in a Web server (for example, S100), certain cache server (for example, C100) intermediates between the terminal and the Web server. When having received an access request for certain content in the Web server S100 from the terminal T1, the cache server C100 checks whether the requested content is held in its own memory.
In the case where the cache server C100 does not store the content, it inquires the above-described content from other cache servers. If a cache server stores the content, the cache server C100 obtains it from the cache server, and thereafter transmits it to the terminal T1 that is a content-request source. If no cache server stores the content, the cache server C100 obtains it from the originally storing Web server (original Web server) S100, and thereafter transmits it to the terminal T1 that is a content-request source. At this time, the obtained content may be simultaneously stored into the storage of the cache server C100.
Contrarily, when the cache server C100 stores the content, the cache server C100 transmits the stored content to the terminal T1. At this time, the cache server C100 inquires the last updating date and time of the content from the original Web server S100, and when the date and time of the stored content is older than that of the content stored in the original Web server S100, the cache server C100 may obtain the fresh content from the original Web server S100 again, which is called an update checking operation.
A cache server (here, C100, C101) may be asked by not only terminals but other cache servers, whether the content is stored. When the cache server is asked by another cache server, the cache server performs the same operation as in the case where the cache server intermediates between the Web server and the terminal.
Each of the cache servers carries out the above operation. If the update checking operation is not carried out, then the cache server may store the content older than that stored in the Web server (that is, the content of the cache server does not reflect the updating of the content carried out at the Web server), even when the cache server is holding the content for an access request. In this case, the old content is sent to the terminal. When the cache server is holding the old content at the time of carrying out the update checking, it takes time for the terminal to obtain the updated content, because the cache server obtains the updated content from the original Web server again.
For the above reason, it is important for each cache server to hold Web content which has a high probability of receiving an access request from the terminals and is not older than that on the Web server.
In order to meet this requirement, each cache server has carried out: 1) an automatic cache updating operation; 2) a link prefetching operation; and 3) a cache server cooperating operation.
The automatic cache updating operation is the operation of obtaining the latest version of the Web content held by the cache server from the original Web server by making access to this original Web server.
The link prefetching operation is the operation of previously obtaining the content information associated with links described in the Web content that is held by the cache server.
The cache server cooperating operation is the operation of carrying out redistribution, sharing and comparison of freshness of caches held by cache servers, among the cache servers. The cache redistribution is the operation that a cache server that does not have a certain content obtains the content from another cache server that has the content. The cache sharing is the operation that when a cache server that does not have a certain content has received a request for making access to the content from a terminal, this cache server transfers this access request to a cache server that has the content. The cache freshness comparison is the operation that a cache server that has a certain content checks whether another cache server has the latest version of the content that reflect the latest updating by the Web server, and obtains the latest version when necessary.
For the cache server cooperating operation, a conventional cache server has exchanged with each other a list of contents held by respective cache servers and information showing cache validity of contents held by each of the cache servers (called content summary). As the information showing the validity of a cache, an effective period of the cache indicated by the content-originating server, and the last updating time and date of the content have been used.
The acquisition of content or content summary caused by the above described automatic cache updating, the link prefetching and the cache server cooperating operations, are performed through a network, which will be described hereafter.
For example, when the cache server C100 obtains certain content from the Web server S100 in the automatic cache updating operation or the link prefetching operation, the cache server C100 transmits to a network an access request for the above described certain content addressed to Web server S100. This access request is transmitted to Web server S100 through a path determined by the content of the routing table in each router, for example, R6→L5→R5→L4→R4→L3→R3→L2→R2→L1→R1. The Web server S100 having received the access request transfers the requested content to the cache server C100.
Further, for example, in the case where the cache server C100 obtains content or content summary from the cache server C101, the cache server C100 transmits to a network an access request for the above-described certain content addressed to cache server C101. This access request is transmitted to cache server C101 through a path determined by the content of routing table: R6→L5→R5→L4→R4→L3→R3→L2→R2. The cache server C101 transfers the content or content summary required by the access request to the cache server C100.
Basically, the automatic cache updating operation, the link prefetching operation, and the cache server cooperating operation are performed to predict the Web content that may be required by a terminal and to make access to the Web server prior to the time when the terminal actually requires the content. Accordingly, these operations are not urgent and it is preferable for these operations having no urgency not to interrupt other traffics that are generated based on the actual needs of the Web servers by terminals.
However, the above-described conventional technique has such a disadvantage that the transfer of content caused by the link prefetching operation and the like simultaneously occupies a certain bandwidth in the entire path from the Web server or cache server storing the content to the cache server requesting for the content. Accordingly, the link prefetching operation and the like easily affect other traffics. Particularly, when the number of hops between a content-request source and a content request destination is large, the total bandwidth occupied in the entire path becomes large, resulting in a substantial amount of influence on other traffics in the network.